package com.molin.quiteSort;
/*
1.从右边开始找比基准数小的
2.从左边开始找比基准数大的
3.交换两个值的位置
4.红色继续往左找，蓝色继续往右找，直到两个箭头指向同一个索引位置。
5.基准数归位
*/
public class MyQuiteSortDemo1 {

    public static void main(String[] args) {
        int[] arr={6,1,2,7,9,3,4,5,10,8};
        quiteSort(arr,0,arr.length-1);

//        打印测试
        for (int i : arr) {
            System.out.print(i+ " ");
        }
    }

    private static void quiteSort(int[] arr,int left,int right) {
        int left0=left;
        int right0=right;

        int baseNumber=arr[left0];

        while (left!=right){
            while (arr[right]>=baseNumber&&right>left){
                right--;
        }
            while (arr[left]<=baseNumber&&right>left){
                left++;
            }
            int tmp=arr[left];
            arr[left]=arr[right];
            arr[right]=tmp;

        }
        //交换完毕，基准数归位。
        int tmp=arr[left];
        arr[left]=arr[left0];
        arr[left0]=tmp;

    }
}
